/**
 * @projectName study_java
 * @package Observer
 * @className Observer.Subject
 */
package Observer;

import java.util.ArrayList;
import java.util.List;

/**
 * Subject
 * @description 主题
 * @author answer_wx
 * @date 2022/6/28 10:50
 * @version 1.0
 */
public class Subject {
    private List<IObserver> observers = new ArrayList<>();

    // 添加订阅者
    public void attach(IObserver observer) {
        observers.add(observer);
    }

    // 删除订阅者
    public void detach(IObserver observer) {
        observers.remove(observer);
    }

    // 通知订阅者
    public void notifyObserver() {
        for (IObserver observer : observers) {
            observer.Update();
        }
    }
}